/**
 * 日志工具使用示例
 * 这个文件展示了如何在不同场景下使用智能日志工具
 */

import logger from './logger.js'

// 示例1: 基本用法
export function basicUsageExample() {
  // 开发环境会显示，生产环境会隐藏
  logger.log('这是一条普通日志')
  logger.info('这是一条信息日志')
  logger.debug('这是一条调试日志')
  
  // 开发和生产环境都会显示
  logger.warn('这是一条警告日志')
  logger.error('这是一条错误日志')
}

// 示例2: 分类日志
export function categorizedLoggingExample() {
  // 开发专用日志
  logger.dev('组件初始化完成')
  logger.perf('页面加载耗时: 150ms')
  logger.api('发送请求到: /api/users')
  logger.component('GocEditor组件已挂载')
  logger.util('数据格式化完成')
}

// 示例3: 条件日志
export function conditionalLoggingExample() {
  const user = { name: '张三', role: 'admin' }
  
  // 只在开发环境显示用户信息
  logger.dev('当前用户:', user)
  
  // 生产环境也会显示错误
  if (!user.name) {
    logger.error('用户信息缺失')
  }
}

// 示例4: 性能监控
export function performanceLoggingExample() {
  const startTime = performance.now()
  
  // 模拟一些操作
  setTimeout(() => {
    const endTime = performance.now()
    const duration = endTime - startTime
    
    // 只在开发环境显示性能信息
    logger.perf(`操作耗时: ${duration.toFixed(2)}ms`)
    
    if (duration > 1000) {
      // 生产环境也会显示性能警告
      logger.warn(`操作耗时过长: ${duration.toFixed(2)}ms`)
    }
  }, 100)
}

// 示例5: API请求日志
export function apiLoggingExample() {
  const apiUrl = '/api/data'
  const requestData = { page: 1, size: 10 }
  
  // 开发环境显示请求详情
  logger.api('发送请求:', { url: apiUrl, data: requestData })
  
  // 模拟API响应
  setTimeout(() => {
    const response = { success: true, data: [] }
    
    if (response.success) {
      logger.api('请求成功:', response)
    } else {
      logger.error('API请求失败:', response)
    }
  }, 500)
}
